home *** CD-ROM | disk | FTP | other *** search
/ Tripas 2 / TRIPAS 002.iso / RRRA.exe / BIKER.CON < prev    next >
Encoding:
Text File  |  1998-07-02  |  10.3 KB  |  565 lines

  1. // The biker  
  2. // Programmed by Joseph Aurili
  3.  
  4. // Define actions
  5. action ABIKER_STAY    0   1  5  1  10
  6. action ABIKER_PRESTAY 200 1  5  1  10
  7. action ABIKER_WALK    0   8  5  1  11
  8. action ABIKER_PSHOOT  54  1  5  1  10
  9. action ABIKER_SHOOT1  54  6  5  1  10
  10. action ABIKER_SHOOT2  84  3  5  1  10
  11. action ABIKER_DIE     99  18 1  1  8
  12. action ABIKER_DEAD    116 1  1  1  1 
  13. action ABIKER_PULLGUN 150 7  5  1  15 
  14. action ABIKER_BUTT    180 4  5  1  8 
  15. action ABIKER_CRANK   200 6  5  1  20 
  16. action ABIKER_DIETWO  238 17 1  1  15
  17. action ABIKER_DEADTWO 254 1  1  1  1     
  18. action ABIKER_GUNBACK 180 7  5  -1 15
  19. action ABIKER_PEE    2662 2  1  1  50
  20.  
  21. // Define movements
  22. move BIKER_WALKVEL 30
  23. move BIKER_STOP
  24.  
  25. // Define AI states
  26. ai AIBIKER_PREMOVE ABIKER_PRESTAY BIKER_STOP    
  27. ai AIBIKER_STOPPED ABIKER_STAY    BIKER_STOP 
  28. ai AIBIKER_FARWALK ABIKER_WALK    BIKER_WALKVEL seekplayer
  29. ai AIBIKER_WALK    ABIKER_WALK    BIKER_WALKVEL faceplayerslow    
  30. ai AIBIKER_PSHOOT  ABIKER_PSHOOT  BIKER_WALKVEL faceplayer 
  31. ai AIBIKER_SHOOT1  ABIKER_SHOOT1  BIKER_WALKVEL faceplayer
  32. ai AIBIKER_SHOOT2  ABIKER_SHOOT2  BIKER_WALKVEL faceplayer     
  33. ai AIBIKER_DIE     ABIKER_DIE     BIKER_STOP    faceplayer
  34. ai AIBIKER_DEAD    ABIKER_DEAD    BIKER_STOP    faceplayer
  35. ai AIBIKER_PEE     ABIKER_STAY    BIKER_STOP    faceplayer
  36. ai AIBIKER_PULLGUN ABIKER_PULLGUN BIKER_STOP    faceplayer 
  37. ai AIBIKER_BUTT    ABIKER_BUTT    BIKER_STOP    faceplayer
  38. ai AIBIKER_CRANK   ABIKER_CRANK   BIKER_STOP      
  39. ai AIBIKER_DIETWO  ABIKER_DIETWO  BIKER_STOP    faceplayer
  40. ai AIBIKER_DEADTWO ABIKER_DEADTWO BIKER_STOP    faceplayer       
  41. ai AIBIKER_GUNBACK ABIKER_GUNBACK BIKER_STOP    faceplayer                       
  42. ai AIBIKER_PEE2    ABIKER_PEE     BIKER_STOP    faceplayer 
  43.  
  44. state bikersndrecog
  45.   ifrnd 30
  46.     break
  47.   else ifrnd 51
  48.     soundonce BK_HEY
  49.   else ifrnd 51  
  50.     soundonce BK_HEYNB
  51. ends
  52.  
  53. state bikersndrnd
  54.   ifrnd 168
  55.     break
  56.   else ifrnd 10
  57.     soundonce BK_BOURB
  58.   else ifrnd 20  
  59.     soundonce BK_DIENB
  60.   else ifrnd 30  
  61.     soundonce BK_DNTLK
  62.   else ifrnd 40  
  63.     soundonce BK_PLEAS
  64.   else ifrnd 50  
  65.     soundonce BK_TOHEL
  66.   else ifrnd 60
  67.     soundonce BK_ALIVE
  68.   else ifrnd 70
  69.     soundonce BK_FUN
  70. ends
  71.  
  72. state bikerbsndrnd
  73.   ifrnd 148
  74.     break
  75.   else ifrnd 10
  76.     soundonce BK_JOYRD
  77.   else ifrnd 20  
  78.     soundonce BK_RIDE
  79.   else ifrnd 30  
  80.     soundonce BK_ROAD
  81.   else ifrnd 70
  82.     soundonce BK_SCRAT
  83. ends
  84.  
  85. state bikersnddie
  86.   ifrnd 128
  87.     break
  88.   ifrnd 60
  89.     globalsound BK_JIB1
  90.   else ifrnd 128  
  91.     globalsound BK_JIB2  
  92.   else
  93.     globalsound BK_JIB3  
  94. ends
  95.  
  96. // Actors ********************************************
  97. actor BIKER 150 ABIKER_PRESTAY
  98.   fall
  99.  
  100.   // Start with biker stopped
  101.   ifai 0
  102.   {
  103.     cstator 257
  104.     ai AIBIKER_PREMOVE
  105.   }
  106.   
  107.   // If the biker is dead
  108.   ifai AIBIKER_DEAD
  109.   {
  110.     // You can blow him up
  111.     strength 0
  112.     ifhitweapon
  113.       ifwasweapon RADIUSEXPLOSION
  114.       {
  115.         sound SQUISHED
  116.         guts BIKERJIBA 1
  117.         guts BIKERJIBB 1
  118.         guts BIKERJIBC 2
  119.         guts BIKERJIBD 2
  120.         killit
  121.       }
  122.   }
  123.   // If the biker is dead version 2
  124.   else ifai AIBIKER_DEADTWO
  125.   {
  126.     // You can blow him up
  127.     strength 0
  128.     ifhitweapon
  129.       ifwasweapon RADIUSEXPLOSION
  130.       {
  131.         sound SQUISHED
  132.         guts BIKERJIBA 1
  133.         guts BIKERJIBB 1
  134.         guts BIKERJIBC 2
  135.         guts BIKERJIBD 2
  136.         killit
  137.       }
  138.   }
  139.   // Make the next pre-move choice
  140.   else ifai AIBIKER_PREMOVE
  141.   {
  142.     ifactioncount 1
  143.     {
  144.       ifpdistl 10000 
  145.       {  
  146.         ifcansee 
  147.         {  
  148.           ifrnd 75
  149.             ai AIBIKER_PULLGUN 
  150.         }
  151.       }
  152.       ifrnd 64
  153.         ai AIBIKER_CRANK
  154.     } 
  155.   }
  156.   // Make the next action choice
  157.   else ifai AIBIKER_STOPPED
  158.   {
  159.     ifp pdead
  160.     {
  161.       ai AIBIKER_WALK  
  162.       break
  163.     }
  164.     
  165.     ifp palive
  166.     {
  167.       ifactioncount 1
  168.       {
  169.         ifpdistl 2000
  170.         {
  171.           ifcansee
  172.             ai AIBIKER_BUTT  
  173.         }
  174.         else ifrnd 128    
  175.         {  
  176.           ifpdistg 15000 
  177.             ai AIBIKER_FARWALK 
  178.           
  179.           ai AIBIKER_WALK
  180.         }
  181.       }
  182.       break
  183.     }
  184.   }
  185.   else ifai AIBIKER_WALK
  186.   {
  187.     ifp pdead
  188.     {
  189.       ifpdistl 1000
  190.         ai AIBIKER_PEE
  191.     }
  192.     
  193.     ifcount 15 
  194.     {   
  195.       state bikersndrnd                     
  196.       resetcount
  197.     }
  198.     
  199.     ifp palive
  200.     {
  201.       ifactioncount 8
  202.       {
  203.         ifrnd 128
  204.         {  
  205.           ifp palive
  206.             ifpdistl 25000
  207.               ifcansee
  208.                 ifcanshoottarget
  209.                   ai AIBIKER_SHOOT1  
  210.           ai AIBIKER_WALK 
  211.         }
  212.         else ifrnd 30    
  213.           ai AIBIKER_STOPPED
  214.         else ifrnd 40
  215.           ai AIBIKER_FARWALK
  216.         
  217.         ai AIBIKER_WALK 
  218.       }
  219.     }
  220.   }
  221.   else ifai AIBIKER_FARWALK
  222.   {
  223.     ifp pdead
  224.     {
  225.       ai AIBIKER_WALK  
  226.       break
  227.     }
  228.     
  229.     ifcount 15 
  230.     {   
  231.       state bikersndrnd                     
  232.       resetcount
  233.     }
  234.     
  235.     ifactioncount 8
  236.     {
  237.       ifrnd 128
  238.       {  
  239.         ifp palive
  240.           ifpdistl 25000
  241.             ifcansee
  242.               ifcanshoottarget
  243.                 ai AIBIKER_SHOOT1  
  244.         ai AIBIKER_FARWALK 
  245.       }
  246.       else ifrnd 40    
  247.         ai AIBIKER_STOPPED
  248.       ai AIBIKER_FARWALK 
  249.     }
  250.   }
  251.   else ifai AIBIKER_CRANK
  252.   {
  253.     ifrnd 1
  254.       ifpdistl 8000 
  255.         soundonce BK_SNORT
  256.     
  257.     ifactioncount 6
  258.     {
  259.       ifrnd 64
  260.         ai AIBIKER_PREMOVE    
  261.     }
  262.   }
  263.   else ifai AIBIKER_BUTT
  264.   {
  265.     ifcount 15 
  266.     {   
  267.       state bikersndrnd                     
  268.       resetcount
  269.     }
  270.     
  271.     ifactioncount 4
  272.     {
  273.       ifpdistl 2500
  274.       {
  275.         addphealth -5
  276.         state lnsndpain
  277.       }
  278.  
  279.       ifrnd 128
  280.       {  
  281.         ai AIBIKER_PSHOOT    
  282.       }
  283.       
  284.       ai AIBIKER_STOPPED
  285.     }
  286.   }
  287.   else ifai AIBIKER_PULLGUN
  288.   {
  289.     ifactioncount 7
  290.     {
  291.       ai AIBIKER_PSHOOT    
  292.     }
  293.     ifactioncount 2
  294.     {
  295.     
  296.     }  
  297.     ifactioncount 1
  298.     {
  299.       state bikersndrecog 
  300.     }
  301.   }
  302.   else ifai AIBIKER_GUNBACK
  303.   {
  304.     ifactioncount 7
  305.     {
  306.       ai AIBIKER_PREMOVE    
  307.     }
  308.   }
  309.   else ifai AIBIKER_PSHOOT
  310.   {
  311.     ifp pdead
  312.     {
  313.       ifpdistl 2000
  314.         ai AIBIKER_WALK
  315.     }
  316.     
  317.     ifactioncount 1
  318.     {
  319.       ai AIBIKER_SHOOT1    
  320.     }
  321.   }
  322.   else ifai AIBIKER_SHOOT1
  323.   {
  324.     ifp pdead
  325.     {
  326.       ifpdistl 2000
  327.         ai AIBIKER_WALK
  328.     }
  329.     
  330.     ifcount 15 
  331.     {   
  332.       state bikersndrnd                     
  333.       resetcount
  334.     }
  335.     
  336.     ifactioncount 6
  337.     {
  338.       ai AIBIKER_SHOOT2    
  339.       ifrnd 24
  340.         ai AIBIKER_GUNBACK 
  341.     }
  342.     else ifactioncount 1
  343.     {
  344.     
  345.     }
  346.     else ifactioncount 0
  347.     {
  348.       sound SHOT6
  349.       shoot SHOTGUN
  350.       shoot SHOTGUN
  351.     }
  352.   }
  353.   else ifai AIBIKER_SHOOT2
  354.   {
  355.     ifactioncount 3
  356.     {
  357.       ifrnd 80
  358.         ai AIBIKER_STOPPED
  359.       
  360.       ai AIBIKER_SHOOT1        
  361.     }
  362.     else ifactioncount 1
  363.     {
  364.      
  365.     }
  366.     else ifactioncount 0
  367.     {
  368.       sound SHOT6
  369.       shoot SHOTGUN
  370.       shoot SHOTGUN
  371.       shoot SHOTGUN
  372.     }
  373.   }
  374.   else ifai AIBIKER_DIE
  375.   {
  376.     ifactioncount 18
  377.     {
  378.       // RIP biker    
  379.       ifrnd 64
  380.        spawn BLOODPOOL
  381.       state bf
  382.       ai AIBIKER_DEAD 
  383.     }
  384.     else ifactioncount 13
  385.     {
  386.  
  387.     }
  388.     else ifactioncount 12
  389.     {
  390.       iffloordistl 8
  391.         sound THUD
  392.     }
  393.     else ifactioncount 11
  394.     {
  395.  
  396.     }
  397.   }
  398.   else ifai AIBIKER_DIETWO
  399.   {
  400.     ifactioncount 17
  401.     {
  402.       // RIP biker version two   
  403.       ifrnd 64
  404.         spawn BLOODPOOL
  405.       state bf
  406.       ai AIBIKER_DEADTWO 
  407.       break
  408.     }
  409.     else ifactioncount 14
  410.     {
  411.  
  412.     }
  413.     else ifactioncount 13
  414.     {
  415.       iffloordistl 8
  416.         sound THUD
  417.     }
  418.     else ifactioncount 12
  419.     {
  420.  
  421.     }
  422.   }
  423.   else ifai AIBIKER_PEE
  424.   {
  425.     sound PEE
  426.     ai AIBIKER_PEE2  
  427.   }
  428.   else ifai AIBIKER_PEE2          
  429.   {
  430.     soundonce PEE 
  431.   }
  432.   
  433.   // Biker takes a hit
  434.   ifhitweapon
  435.   {
  436.     ifai AIBIKER_DIE
  437.       break
  438.     
  439.     ifai AIBIKER_DEAD
  440.       break
  441.     
  442.     ifai AIBIKER_DIETWO
  443.       break
  444.     
  445.     ifai AIBIKER_DEADTWO
  446.       break
  447.     
  448.     ifrnd 128
  449.     {
  450.       ifrnd 128
  451.       {
  452.         sound BK_PAIN1
  453.       }
  454.       else ifrnd 128
  455.       {
  456.         sound BK_PAIN2 
  457.       }
  458.       
  459.       sound BK_PAIN3 
  460.     }
  461.     
  462.     {
  463.       ifspritepal 8
  464.       {
  465.       
  466.       }
  467.       else
  468.       {
  469.         state random_wall_jibs  
  470.         spawn BLOOD
  471.       }
  472.       
  473.       ifrnd 128  
  474.       {
  475.         ifrnd 128
  476.         {
  477.           sound BK_PAIN1
  478.         }
  479.         else ifrnd 128
  480.         {
  481.           sound BK_PAIN2 
  482.         }
  483.         
  484.         sound BK_PAIN3 
  485.       }
  486.       
  487.       ifdead
  488.       {
  489.         ifspritepal 8
  490.         {
  491.           addkills 1
  492.           killit
  493.         }
  494.         
  495.         state bikersnddie 
  496.         addkills 1  
  497.         cstat 0 
  498.  
  499.         ifwasweapon RADIUSEXPLOSION
  500.         {
  501.           sound SQUISHED
  502.           guts BIKERJIBA 1
  503.           guts BIKERJIBB 1
  504.           guts BIKERJIBC 2
  505.           guts BIKERJIBD 2
  506.           ifrnd 128
  507.            spawn SHOTGUNAMMO
  508.           ai AIBIKER_DIETWO        
  509.         }
  510.         else ifwasweapon MOTOHIT
  511.         {
  512.           ifmotofast
  513.           {
  514.             ifrnd 128
  515.               spawn SHOTGUNAMMO
  516.             ai AIBIKER_DIE        
  517.           }
  518.           
  519.           ifrnd 128
  520.             spawn SHOTGUNAMMO
  521.           ai AIBIKER_DIE        
  522.         }
  523.         else ifwasweapon CROSSBOW
  524.         {
  525.           sound SQUISHED
  526.           guts BIKERJIBA 1
  527.           guts BIKERJIBB 1
  528.           guts BIKERJIBC 2
  529.           guts BIKERJIBD 2
  530.           ifrnd 128
  531.             spawn SHOTGUNAMMO
  532.           ai AIBIKER_DIETWO        
  533.         }
  534.         // Other weapon
  535.         else
  536.         {
  537.           ifrnd 128
  538.             spawn SHOTGUNAMMO
  539.           ai AIBIKER_DIE        
  540.         }
  541.       break
  542.       }
  543.       
  544.       // Biker hurt if not dead
  545.       ifrnd 128
  546.       {
  547.         ifai AIBIKER_PREMOVE 
  548.         {
  549.           ai AIBIKER_PULLGUN
  550.           break
  551.         }
  552.         else ifai AIBIKER_CRANK 
  553.         {
  554.           ai AIBIKER_PULLGUN
  555.           break
  556.         }
  557.         
  558.         ai AIBIKER_PSHOOT
  559.       }
  560.     }
  561.   }
  562. enda
  563.  
  564.  
  565.